package com.gimi.cloud.bbp.app.consumer.service.user;

import org.springframework.web.bind.annotation.RequestBody;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;


/**
 * 用户相关信息
 * @author chendi
 * @date 2017年12月27日
 */
public interface UserInfoService {
	/**
	 * 新增详细信息
	 * @param requestBody
	 */
	void  addUserInfo(@RequestBody String requestBody, HttpServletRequest request, HttpServletResponse response) throws Exception;

    /**
     * 根据user_id获取单个用户信息
     * @return 
     */
    void getUserInfoSingle(@RequestBody String requestBody, HttpServletRequest request, HttpServletResponse response) throws Exception;


    /**
     * 更新用户详情信息
     */
    void updateUserInfo(@RequestBody String requestBody, HttpServletRequest request, HttpServletResponse response) throws Exception;
    /**
     * 用户详情信息中头像上传
     * @throws IOException 
     */
    void photoFileUpload(String requestData,HttpServletResponse response, HttpServletRequest request) throws IOException;

    void uploadCardPhoto(HttpServletResponse response, HttpServletRequest request);
    /**
     * App端更新用户详情信息
     */
    void updateUserIdInfo(String requestData, HttpServletResponse response, HttpServletRequest request);
    /**
     * App端获取用户详情信息
     */
    void getUserInfo(String requestData, HttpServletResponse response, HttpServletRequest request);
    /**
     * App端更新用户银行卡信息
     */
    void updateUserbankcard(String requestData, HttpServletResponse response, HttpServletRequest request);
    /** App端连连支付签约绑卡前的字符串拼接 */
    void bankCardSign(String requestData, HttpServletResponse response, HttpServletRequest request);

    void getUserBankcard(String requestData, HttpServletResponse response, HttpServletRequest request);
    /** 更新用户非关键信息 */
	void updateUnimportantUserinfo(String requestData, HttpServletResponse response, HttpServletRequest request);

    /**
     * 获取协议信息
     * @param request
     * @param response
     * @param requestData
     */
	void getAgreement(HttpServletRequest request,HttpServletResponse response,String requestData);
}
